// src/api/role.ts

import request from './request';
import type {Role, RoleRequest} from "@/types/api/role";

/**
 * @description 获取所有角色列表
 * @returns {Promise<Role[]>} 角色列表
 */
export function getAllRolesApi(): Promise<Role[]> {
  // 注意：我们的响应拦截器已经处理了 res.data 的提取
  return request.get('/roles');
}

/**
 * @description 创建新角色
 * @param {RoleRequest} data 角色信息
 * @returns {Promise<Role>} 新创建的角色
 */
export function createRoleApi(data: RoleRequest): Promise<Role> {
  return request.post('/roles', data);
}

/**
 * @description 更新角色信息
 * @param {number} id 角色ID
 * @param {RoleRequest} data 角色信息
 * @returns {Promise<Role>} 更新后的角色
 */
export function updateRoleApi(id: number, data: RoleRequest): Promise<Role> {
  return request.put(`/roles/${id}`, data);
}

/**
 * @description 删除角色
 * @param {number} id 角色ID
 * @returns {Promise<void>}
 */
export function deleteRoleApi(id: number): Promise<void> {
  return request.delete(`/roles/${id}`);
}
